©1997 - 1999
vellocet
All rights reserved

VMIDIJoY

VMIDIJoY screenshot

Click on the image to download VMIDIJoY (v1.53) [38k].

VMIDIJoY screenshot

Click on the image to download VMIDIJoY II (v2.01) [153k].

[New features] [Join updates mailing list]

VMIDIJoY

[Top]

VMIDIJoY II: Current release: 10 version: 2.01 date: 26.5.1999

NEW - VMIDIJoY II - the long-awaited direct-X version. Currently only supports one joystick, but that joystick may have up to six axes, and eight buttons. I have added a joystick view window in the patch editor so that you may observe which axis/button values get changed when you twiddle something on your joystick. This should be considered an alpha release - please send in all your suggestions and bug reports! You can expect a much nicer looking interface in the near future - I'm aware this is a total yuck to look at for the moment. I'm especially interested in any suggestions for the patch editor window.


VMIDIJoY: Current release: 8 version: 1.53 date: 5.1.1999

VMIDIJoY - supports dual joysticks, MIDI program changes, saving/loading of patches with preset patch buttons, as well as individual MIDI channels for each button and axis, then download VMIDIJoY! You should read the VMIDIJoY notes to help you get started.

FREE UPDATES: This program is very much in active development - please send me all your ideas for improvements (and bug reports)! If you want updates, join our MIDIJoY mailing list.

Overview: Converts joystick X and Y (and Z if you have it) movement into any of the MIDI continuous controllers, and you can define the fire buttons to be MIDI pedals, or trigger notes, or activate a few other functions. Axis range and polarity can be specified, and "arpeggiation" series of pitch/velocity pairs may be set up for use with note triggering. Good for people like myself who don't have a fancy keyboard plastered with neo-faux-analogue twisty knobs and sliders.

VMIDIJoY Notes

[Top]

  • When you have unzipped the VMIDIJoY.zip file and run the program for the first time, it will say "bank file not found". This is ok on your first use - the program will generate a bank file saving all your settings automatically when you quit.
  • The "SAVE" and "LOAD" buttons refer to the CURRENT PATCH ONLY. If you change the patch before saving, you may lose all of the settings for that patch.
  • The Global button allows access to the MIDI In port selector, the bank setup selector, and preset selectors.
  • In the Joystick options dialog (joy1, joy2 buttons on the main panel), there are two edit boxes next to each of the button mode selectors. These are activated as needed - for instance, if you select "Note on/off", the edit box on the left is the note number, and the other is velocity. (I think middle C is note 48 from memory - I could well be wrong.) I'll add other button functions which use the edit boxes as needed (like a program change message button? Send in those suggestions!)
  • Currently VMIDIJoY uses the old analogue joystick functions within Windows - which means people with fancier digital direct-X joysticks can only use 3 axes and 4 buttons, no matter how many whiz-bang bits they have on their gaming interface from hell. One day I'll get around to making VMIDIJoY Direct-X compatible, and then we'll have some real fun... till then, I apologise - it would require quite a bit of a rewrite.

VMIDIJoY Home-built Hardware

[Top]

A very fine page detailing exactly how to wire up your own joystick-like interface has been written by Tomi Engdahl. Definitely suggested reading!

FAQs

  • Which pins do I connect my third axis potentiometer to? - The pins used for the second joystick's x axis pot.

 

Tom's gadget:

Here's what one VMIDIJoY user built to hook up to his joystick ports - a nice big 2-rack unit box with separate knobs for each axis. Note the extra large knob used to control those ever important filter cutoff positions!
A lot of people ask how he got 6 axes going - the answer is with 2 separate joystick ports. This won't be necessary after VMIDIJoY II is released with DirectX support. (Though you might have to hack into the circuitry of a digital joystick if you want to make your own devices).

Joystick port diagram

History

[Top]

  • Version 2.01 (27.5.99)
    Additions / changes:
    • A faux-MIDI indicator LED lights up when you send messages
    • 'Always on top' option in the Global Options Dialog
    • Axis ranges now expressed 0-127 (MIDI value) rather than 0-100 %
    • MIDI-Thru option in Global Options Dialog allows you to route a MIDI stream through VMIDIJoY (Sysex thru not supported yet - soon!)
    Bug fixes:
    • Banks load and save as they should again! (oops)
    • Joystick auto-activates as needed when you change patch. (oops again)
  • Version 2.00 (14.5.99 - VMIDIJoY II)
    Additions / changes:
    • Direct-X support for up to 6 axis, 8 button joysticks
    • Only one joystick supported for the moment
    • Joystick status view window in patch editor
    Bug fixes:
    • Reverse polarity now works for all axes as it should.
    • Arpeggiator window shouldn't occassionaly crash program anymore.
  • Version 1.53 (5.1.99)
    Bug fixes:
    • Controllers above 31 should now work.
  • Version 1.52 (31.8.98)
    Additions:
    • Arpeggiators can now be synched to the in-port MIDI clock. Holding a button down will auto-arpeggiate.
    Bug fixes:
    • The occasional arpeggiator edit window crash seems to have been nailed.
    • Arpeggiator steps edit control now behaves as you would expect - up arrow increases steps and vice versa.
    • Axis partial range maximum edit window now behaves itself.
  • Version 1.51 (24.8.98)
    Additions:
    • Extra button functions: Song start/stop/continue/position/select messages.
    • Static SYSEX messages can be fired from the buttons.
  • Version 1.50 (20.6.98 - VMIDIJoY) Additions:
    • Dual joystick support
    • New, smaller front-end.
    • Four patch-preset buttons
    • Continuous controllers up to #127 supported (I hope - I can't test that!)
    • Individually assignable MIDI channels for each button and axis
    • Individual arpeggiator sequence for each button
    • Loading/Saving patches
    • MIDI program change messages supported (auto patch changing!)
  • Version 1.10 additions: (MIDIJoY)
    • A simple manually-stepped arpeggiator allows you to choose a short series of pitches and velocities to trigger with a fire button.
    • Z axis support for those with grander joysticks (I'll work on 6-axis support soon!)
    • A button display (How useful? Not sure - help you work out which button is which?)
    • The "active" switch disables joystick polling as well as MIDI now - should be easier to change the control values.
    • Joystick features inspection dialog box.

Need more MIDI ports?

[Top]

Because this program requires a MIDI out port to send its messages, you may want Hubi's MIDI Loopback Device or MIDIYoke, which are virtual MIDI port device drivers that allows you to connect MIDI programs within your machine.

Author: SKoT